As a storage apparatus included in a common host system, e.g., a computer system, there are a magnetic hard disk drive (HDD), a solid state drive (SSD) equipped with a nonvolatile semiconductor memory such as a NAND flash memory, an embedded NAND flash memory, etc. The SSD and the embedded NAND flash memory are categorized as storage, but can also be said to be memory systems with expanded size.
Such a memory system includes, for example, an interface, a first memory block, a second memory block, and a controller. The first memory block stores data. The second memory block is a buffer memory used upon writing/reading data. The first memory block is a nonvolatile memory and has a larger capacity than the second memory block, but has a low access rate. The second memory block is a temporary saving memory for processing an address conversion table of the first memory block. In addition, the second memory block is also used to compensate for a difference in speed between interface communication speed and the write/read speed of the first memory block.
For example, the first memory block is a nonvolatile flash memory. For example, the second memory block is a volatile DRAM or SRAM. Such a memory system employs a configuration for implementing the functions of writing/reading data associated with an address (logical address) specified by a host. In particular, a large-capacity memory system such as an SSD holds, as data, a table in which logical addresses specified by the host are associated with the physical addresses of the flash memory (logical-physical address conversion table). The controller that manages the reliability of the flash memory reads the logical-physical address conversion table into the second memory block, and performs the process of converting a logical address specified by the host to a physical address (logical-physical conversion process).
However, in conventional memory systems, a logical-physical conversion process by the controller is a factor that increases the time required to read or write data from/into the first memory block. For example, since the size of a logical-physical address conversion table increases as the storage capacity in a memory system increases, the time required to read the logical-physical address conversion table also increases. By this, the time required for a logical-physical conversion process increases, and as a result, a delay occurs in reading or writing data.